(1) Field of the Invention
This invention relates to a file server program for manipulating a file in response to a request from another unit and, more particularly, to a file server program used on a computer included in a cluster.
(2) Description of the Related Art
Conventionally, file servers have been used to share a file among a plurality of computers. A client computer (hereinafter referred to simply as a client) using file servers can obtain a necessary file by accessing the file servers via networks.
By the way, file servers on large-scale networks manage a vast number of files. Moreover, there are a large number of clients which use files. Therefore, a cluster is formed by a plurality of file servers and processes related to file manipulation (such as writing or reading a file) are distributed among the plurality of file servers. This reduces the load on each file server.
If a large number of files are managed distributively in this way by a plurality of file servers, each client must always realize which file server manages each file.
One method for making a client realize a file server which manages a file is to store file management information for the entire system on one of a plurality of file servers. Under this method, each client can realize a file server which manages a file by inquiring of a file server which stores file management information.
Another method for making a client realize a file server which manages a file is to define a certain rule as to determination of a file server which creates a directory for storing a file. Under this method, a file server which manages a directory manages files under this directory. For example, Japanese Patent Laid-Open Publication No. Hei5-233417 discloses an example of this method. According to the invention disclosed in Japanese Patent Laid-Open Publication No. Hei5-233417, a file server which creates a directory is determined under a rule which uses the identifier of the directory. Under this rule, a client specifies a file server which created the directory.
Under the conventional methods, however, it has been difficult to properly distribute a load.
That is to say, under the method of storing file management information for the entire system on one file server, the processing load on the file server which stores the file management information will increase with an increase in the number of files accessed.
Under the method of determining a file server which manages a file on the basis of a directory identifier, a limited number of file servers will create directories if there are many similar directory identifiers. For example, if a file server is determined on the basis of the first letter in a directory identifier, the processing load on a file server which creates a directory of an identifier beginning with a letter frequently used will be heavier than the processing loads on the other file servers.
If a load is not distributed properly, a delay in a file manipulation process will occur. This degrades the throughput of the entire cluster.
Moreover, in recent years transmission speeds on networks have increased. As a result, file write and read rates on file servers are slow, compared with data transfer rates on networks. Therefore, it is greatly hoped that file write rates and file read rates on file servers will be improved.